#ifndef LYLOG_H
#define LYLOG_H

#include "logger.hpp"
namespace ly    
{
    #define debug(fmt, ...) debug(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
    #define info(fmt, ...) info(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
    #define warning(fmt, ...) warning(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
    #define error(fmt, ...) error(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
    #define fatal(fmt, ...) fatal(__FILE__, __LINE__, fmt, ##__VA_ARGS__)

    #define fdebug(fmt, ...) ly::LogManager::getInstance().getLogger("default_logger")->debug(fmt, ##__VA_ARGS__)
    #define finfo(fmt, ...) ::LogManager::getInstance().getLogger("default_logger")->info(fmt, ##__VA_ARGS__)
    #define fwarning(fmt, ...) ly::LogManager::getInstance().getLogger("default_logger")->warning(fmt, ##__VA_ARGS__)
    #define ferror(fmt, ...) ly::LogManager::getInstance().getLogger("default_logger")->error(fmt, ##__VA_ARGS__)
    #define ffatal(fmt, ...) ly::LogManager::getInstance().getLogger("default_logger")->fatal(fmt, ##__VA_ARGS__)
}
#endif